home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Shape Smash / shape-smash.swf / scripts / Box2D / Collision / _he523.as < prev    next >
Encoding:
Text File  |  2010-05-14  |  4.0 KB  |  126 lines

  1. package Box2D.Collision
  2. {
  3.    import Box2D.Collision.Shapes._hx306;
  4.    import Box2D.Common.Math._bf172;
  5.    import Box2D.Common.Math._ni781;
  6.    import Box2D.Common.Math.b2Vec2;
  7.    import Box2D.Common._kc225;
  8.    
  9.    public class _he523
  10.    {
  11.       public static var s_p1:b2Vec2 = new b2Vec2();
  12.       
  13.       public static var s_p2:b2Vec2 = new b2Vec2();
  14.       
  15.       public static var s_xf1:_ni781 = new _ni781();
  16.       
  17.       public static var s_xf2:_ni781 = new _ni781();
  18.       
  19.       public function _he523()
  20.       {
  21.          super();
  22.       }
  23.       
  24.       public static function _vt746(param1:_hx306, param2:_bf172, param3:_hx306, param4:_bf172) : Number
  25.       {
  26.          var _loc5_:Number = NaN;
  27.          var _loc6_:Number = NaN;
  28.          var _loc7_:Number = NaN;
  29.          var _loc8_:Number = NaN;
  30.          var _loc9_:Number = NaN;
  31.          var _loc10_:Number = NaN;
  32.          var _loc11_:Number = NaN;
  33.          var _loc12_:Number = NaN;
  34.          var _loc13_:Number = NaN;
  35.          var _loc14_:Number = NaN;
  36.          var _loc15_:Number = NaN;
  37.          var _loc16_:Number = NaN;
  38.          var _loc17_:b2Vec2 = null;
  39.          var _loc18_:b2Vec2 = null;
  40.          var _loc19_:int = 0;
  41.          var _loc20_:int = 0;
  42.          var _loc21_:Number = NaN;
  43.          var _loc22_:Number = NaN;
  44.          var _loc23_:Number = NaN;
  45.          var _loc24_:Number = NaN;
  46.          var _loc25_:Number = NaN;
  47.          var _loc26_:_ni781 = null;
  48.          var _loc27_:_ni781 = null;
  49.          var _loc28_:Number = NaN;
  50.          var _loc29_:Number = NaN;
  51.          var _loc30_:Number = NaN;
  52.          var _loc31_:Number = NaN;
  53.          _loc7_ = param1.m_sweepRadius;
  54.          _loc8_ = param3.m_sweepRadius;
  55.          _loc9_ = param2.t0;
  56.          _loc10_ = param2.c.x - param2.c0.x;
  57.          _loc11_ = param2.c.y - param2.c0.y;
  58.          _loc12_ = param4.c.x - param4.c0.x;
  59.          _loc13_ = param4.c.y - param4.c0.y;
  60.          _loc14_ = param2.a - param2.a0;
  61.          _loc15_ = param4.a - param4.a0;
  62.          _loc16_ = 0;
  63.          _loc17_ = s_p1;
  64.          _loc18_ = s_p2;
  65.          _loc19_ = 20;
  66.          _loc20_ = 0;
  67.          _loc21_ = 0;
  68.          _loc22_ = 0;
  69.          _loc23_ = 0;
  70.          _loc24_ = 0;
  71.          while(true)
  72.          {
  73.             _loc25_ = (1 - _loc16_) * _loc9_ + _loc16_;
  74.             _loc26_ = s_xf1;
  75.             _loc27_ = s_xf2;
  76.             param2._lq766(_loc26_,_loc25_);
  77.             param4._lq766(_loc27_,_loc25_);
  78.             _loc23_ = _ho219._jy683(_loc17_,_loc18_,param1,_loc26_,param3,_loc27_);
  79.             if(_loc20_ == 0)
  80.             {
  81.                if(_loc23_ > 2 * _kc225.b2_toiSlop)
  82.                {
  83.                   _loc24_ = 1.5 * _kc225.b2_toiSlop;
  84.                }
  85.                else
  86.                {
  87.                   _loc5_ = 0.05 * _kc225.b2_toiSlop;
  88.                   _loc6_ = _loc23_ - 0.5 * _kc225.b2_toiSlop;
  89.                   _loc24_ = _loc5_ > _loc6_ ? _loc5_ : _loc6_;
  90.                }
  91.             }
  92.             if(_loc23_ - _loc24_ < 0.05 * _kc225.b2_toiSlop || _loc20_ == _loc19_)
  93.             {
  94.                break;
  95.             }
  96.             _loc21_ = _loc18_.x - _loc17_.x;
  97.             _loc22_ = _loc18_.y - _loc17_.y;
  98.             _loc28_ = Math.sqrt(_loc21_ * _loc21_ + _loc22_ * _loc22_);
  99.             _loc21_ /= _loc28_;
  100.             _loc22_ /= _loc28_;
  101.             _loc29_ = _loc21_ * (_loc10_ - _loc12_) + _loc22_ * (_loc11_ - _loc13_) + (_loc14_ < 0 ? -_loc14_ : _loc14_) * _loc7_ + (_loc15_ < 0 ? -_loc15_ : _loc15_) * _loc8_;
  102.             if(_loc29_ == 0)
  103.             {
  104.                _loc16_ = 1;
  105.                break;
  106.             }
  107.             _loc30_ = (_loc23_ - _loc24_) / _loc29_;
  108.             _loc31_ = _loc16_ + _loc30_;
  109.             if(_loc31_ < 0 || 1 < _loc31_)
  110.             {
  111.                _loc16_ = 1;
  112.                break;
  113.             }
  114.             if(_loc31_ < (1 + 100 * Number.MIN_VALUE) * _loc16_)
  115.             {
  116.                break;
  117.             }
  118.             _loc16_ = _loc31_;
  119.             _loc20_++;
  120.          }
  121.          return _loc16_;
  122.       }
  123.    }
  124. }
  125.  
  126.